The present disclosure relates to communications between two or more computer languages on one or more computers and, in some examples, to systems and methods for binding two computer languages together to achieve such communications.
In general, it can be desirable to communicate between computer programs written in different languages. In some instances, for example, a software application written in one language may be required to obtain information from or send information to another software application written in a different language. One of the software applications in such an instance can operate or provide certain functions or features (e.g., a database) for the other software application.
Attempts have been made to bind certain computer languages together to facilitate communications. Such attempts have been difficult or unsuccessful for some language combinations, however, particularly when the languages treat data types differently (e.g., first-class or second-class data types) and/or provide different support for coroutines or multi-tasking.